# 函数题
# 1 人民币美元双向兑换
def change(x):
    k=float(x[1::])
    a=list(x)
    if a[0] == '$':
        print('{0}美元 = {1:.2f}人民币'.format(int(k),6.709*k))
    elif a[0] == '￥':
        print('{0}人民币 = {1:.2f}美元'.format(int(k),k/6.709))

'''
2 jmu-python-函数-圆形生成器
定义函数getCircleArea(r)。功能：可对指定r计算圆面积。请使用公式math库的pi*r*r进行计算。
定义函数get_rList(n)。功能：输入n个值放入列表并将列表return。
输入n，调用get_rList(n)获得列表rList。说明：已有代码，不需要你编写。
遍历rList，对每个元素调用getCircleArea，并按指定格式输出。说明：已有代码，不需要你编写。
注意：1.需导入程序中所需要的库。2.仅需提交两个函数的完整代码。
'''
import math
def getCircleArea(r):
    return math.pi*r*r
def get_rList(n):
    lst=[]
    for i in range(n):
        x=eval(input())
        lst.append(x)
    return lst

'''
3 使用函数输出指定范围内Fibonacci数的个数
实现一个计算Fibonacci数的简单函数，并利用其实现另一个函数,输出两正整数m和n（0<m<n≤100000）之间的所有Fibonacci数的数目。 所谓Fibonacci数列就是满足任一项数字是前两项的和（最开始两项均定义为1）的数列,fib(0)=fib(1)=1。其中函数fib(n)须返回第n项Fibonacci数；函数PrintFN(m,n)用列表返回[m, n]中的所有Fibonacci数。
'''

def fib(n):
    if n==0 or n==1:
        return 1
    else:
        return fib(n-1)+fib(n-2)

def PrintFN(m,n):
    a=[]
    for i in range(25):
        if fib(i)<=n and fib(i)>=m:
            a.append(fib(i))
    return a

# 编程题

'''
1 函数的递归调用
有n个人坐在一起，第n个人比第n-1个人大2岁，第n-1个人比第n-2个人大2岁，以此类推，……，第1个人是10岁。请问第n个人年龄多大？
'''
def age(n):
    if n==1:
        return 10
    else:
        return age(n-1)+2
n=int(input())
print('Number %d is %d age!'%(n,age(n)))

# 2 实现求出给定的n的值的阶乘
def factor(n):
    if n==0 or n==1:
        return 1
    elif n<0:
        return'给定的数<0,no value!no value!'
    else:
        return factor(n-1)*n
n=int(input())
r=factor(n)
if type(r)==str:
    print(r)
else:
    print("%d!=%d"%(n,r))

# 3 输入菱形的行数和组成菱形的字符，输出对应的菱形图像

def printFuc(n,c):
    if n<=0:
        print('None')
    elif n%2==0:
        print('Error')
    else:
        k=(n+1)//2
        for i in range(1,k+1):
            print(' '*(k-i)+c*(2*i-1))
        for i in range(k-1,0,-1):
            print(' '*(k-i)+c*(2*i-1))
s=input().split()
n=int(s[0])
c=s[1]
printFuc(n,c)